package com.tansun.easycare.rule.datamodel.dao;

import java.util.List;
import java.util.Map;

import com.tansun.easycare.rule.common.dao.RuleBaseDao;
import com.tansun.easycare.rule.datamodel.entity.RuleDatamodel;
import com.tansun.easycare.rule.datamodel.entity.RuleDataparams;
import com.tansun.easycare.rule.datamodel.entity.RuleDataparamsInfo;

/**
 * 规则数据集DAO接口
 *
 * @author lxs
 * @version 2017-02-21
 */

public interface RuleDataparamsDao extends RuleBaseDao<RuleDataparams> {

    void deleteBydatasetId(Map<String, String> map);
    
    void deleteRuleDataparamsByIds(Map map);
    /**
     * 查找数据集
     */
    List<RuleDataparams> queryRuleDataList(RuleDataparams ruleparams);
    
    /**
     *  根据变量中文名精确查找数据集(用于校验中文名是否重复)
     */
    List<RuleDataparams> findChznList(RuleDataparams ruleparams);
    
    /**
     * 根据数据集名和变量名查找变量
     */
    List<RuleDataparams> findParmByClassName(Map<String, Object> map);

	void deleteflag(RuleDataparams dp);
	
	List<RuleDataparams> findFunctionParam(Map<String,String> map);
	
	List<String>   findClassParam(Map<String,String> map);
	
	Map<String,String>  findParamMap(Map<String,String> map);

	/**
	 * 获取到某规则集下已生效的函数变量)  20200210 ljt
	 * @param
	 * @return
	 */
	List<RuleDataparams> findListForBom(RuleDataparams rd);

	/**
	 * 查询出函数变量的列表
	 * @param rd
	 * @return
	 */
	List<RuleDataparamsInfo> findListWithStatus(RuleDataparamsInfo rd);

	/**
	 * 获取数据集下的变量(不包括函数变量)
	 * @param ruleDataparams
	 * @return
	 */
	List<RuleDataparams> findListNoFuncparam(RuleDataparams ruleDataparams);

	/**
	 * 获取枚举相关变量
	 * @return
	 */
    List<RuleDataparams> findListWithDomain(RuleDataparams ruleDataparams);
    
	public int moveUpFunc(RuleDataparams condition);

	void updateDataSetId(Map<String,String> map);
	/**
     * 更新关联层级ID（初始化）
     * @param condition
     * @return
     */
    public int updateRankId(RuleDataparams condition);

}